package com.fau.fm.service;

import java.util.List;
import java.util.Map;

import com.fau.fm.entity.MedicalAdmin;
import com.fau.fm.entity.MedicalGroup;
import com.fau.fm.entity.MedicalPlatform;
import com.fau.fm.entity.MedicalResource;
import com.fau.fm.entity.MedicalStaffBasic;
import com.fau.fm.util.Page;

/**
 * @desc 用户Service
 * @author liy
 * @datetime 2014年11月15日,下午6:27:32
 */
public interface IUserManagerService {
	/**
	 * @desc 根据用户名查询用户
	 * @param username
	 * @return MedicalAdmin
	 */
	public MedicalAdmin findUserByName(String username);
	
	/**
	 * @desc 查询所有的资源
	 * @return List<MedicalResource>
	 * @author liy
	 * @datetime 2014年11月15日,下午6:28:26
	 */
	public List<MedicalResource> findAllResource();
	
	/**
	 * @desc 查询根节点资源
	 * @return
	 * @author kangyj
	 * @datetime 2015年3月26日,下午4:21:32
	 */
	public List<MedicalResource> findRootResource();
	
	public List<MedicalResource> loadMenu();
	
	/**
	 * @desc 获得员工基本工资
	 * @return Page
	 * @author liy
	 * @datetime 2014年11月15日,下午6:33:12
	 */
	public Page findStaffBasicByPage(Map<String, Object> map, String eid, String name);
	
	/**
	 * @desc 保存员工基本薪资
	 * @param staffSalary 员工薪资
	 * @author liy
	 * @datetime 2014年11月17日,上午11:59:56
	 */
	public boolean insertStaffBasicSalary(MedicalStaffBasic staffSalary);
	
	/**
	 * @desc 更新员工基本薪资
	 * @param staffSalary员工薪资
	 * @author liy
	 * @datetime 2014年11月18日,上午9:06:32
	 */
	public boolean updateStaffBasicSalary(MedicalStaffBasic staffSalary);
	
	/**
	 * @desc 判断数据是否已经存在
	 * @return
	 * @author dangjh
	 * @datetime 2014年12月5日 下午3:03:13
	 */
	public boolean includeUserBasicSalary(String uid);
	
	/**
	 * @desc 根据部门职位查询员工
	 * @param dept 部门ID
	 * @param position 职位ID
	 * @return List<MedicalAdmin>
	 * @author liy
	 * @datetime 2014年11月17日,下午3:37:41
	 */
	public List<MedicalAdmin> findSpecificStaff(String dept,String position);
	
	/**
	 * @desc 删除选择的员工基本工资记录
	 * @param ids 选择的ID以-分隔
	 * @author liy
	 * @datetime 2014年11月17日,下午6:01:50
	 */
	public void deleteStaffBasic(String ids);
	
	/**
	 * @desc 查询企业下所有的中心
	 * @param eid
	 * @param type
	 * @return List<MedicalPlatform>
	 * @author dangjh
	 * 2014年12月30日 下午4:10:05
	 */
	public List<MedicalPlatform> findByEidAll(String eid, String type);
	
	/**
	 * @desc 查询中心下所有的组
	 * @param platformId
	 * @return List<MedicalGroup>
	 * @author dangjh
	 * 2014年12月30日 下午4:11:26
	 */
	public List<MedicalGroup> findByPlatformIdAll(String platformId);
	
}
